home *** CD-ROM | disk | FTP | other *** search
/ HTBasic 9.3 / HTBasic 9.3.iso / FLOPPY / SICL / DISK2 / HPIOLIBS.2 / sicl95 / vb / sicl.bas
Encoding:
BASIC Source File  |  1999-01-29  |  23.0 KB  |  562 lines

  1. ' Copyright 1992-1994 Hewlett-Packard Company.  All Rights Reserved.
  2. '
  3. ' This file defines constants, record types, and entry points
  4. ' for the HP Standard Instrument Control Library.  You need to
  5. ' add this file to each Visual BASIC project that uses the
  6. ' HP Standard Instrument Control Library.
  7.  
  8. ' Support levels:
  9. Global Const I_SICL_REVISION = 39       ' HP SICL Revision 3.9
  10. Global Const I_SICL_LEVEL = 3           ' Support Level
  11.  
  12. ' Byte Ordering constants
  13. Global Const I_ORDER_LE = True
  14. Global Const I_ORDER_BE = False
  15.  
  16. ' Session types
  17. Global Const I_SESS_INTF = 1
  18. Global Const I_SESS_DEV = 2
  19. Global Const I_SESS_CMDR = 3
  20.  
  21. ' Interface Types
  22. Global Const I_INTF_NONE = 0
  23. Global Const I_INTF_GPIB = 1
  24. Global Const I_INTF_VXI = 2
  25. Global Const I_INTF_RS232 = 3
  26. Global Const I_INTF_GPIO = 4
  27. ' 5 is reserved -- don't use
  28. Global Const I_INTF_USRDEF = 6
  29. ' 7 is reserved -- don't use
  30. Global Const I_INTF_LAN = 9
  31.  
  32. ' iread termination conditions
  33. Global Const I_TERM_MAXCNT = 1
  34. Global Const I_TERM_CHR = 2
  35. Global Const I_TERM_END = 4
  36. Global Const I_TERM_NON_BLOCKED = 8
  37.  
  38. ' ixtrig which values.
  39. Global Const I_TRIG_STD = &H1&
  40. Global Const I_TRIG_ALL = &HFFFFFFFF
  41. Global Const I_TRIG_TTL0 = &H1000&
  42. Global Const I_TRIG_TTL1 = &H2000&
  43. Global Const I_TRIG_TTL2 = &H4000&
  44. Global Const I_TRIG_TTL3 = &H8000&
  45. Global Const I_TRIG_TTL4 = &H10000
  46. Global Const I_TRIG_TTL5 = &H20000
  47. Global Const I_TRIG_TTL6 = &H40000
  48. Global Const I_TRIG_TTL7 = &H80000
  49. Global Const I_TRIG_ECL0 = &H100000
  50. Global Const I_TRIG_ECL1 = &H200000
  51. Global Const I_TRIG_ECL2 = &H400000
  52. Global Const I_TRIG_ECL3 = &H800000
  53. Global Const I_TRIG_EXT0 = &H1000000
  54. Global Const I_TRIG_EXT1 = &H2000000
  55. Global Const I_TRIG_EXT2 = &H4000000
  56. Global Const I_TRIG_EXT3 = &H8000000
  57. Global Const I_TRIG_CLK0 = &H10000000
  58. Global Const I_TRIG_CLK1 = &H20000000
  59. Global Const I_TRIG_CLK2 = &H40000000
  60. Global Const I_TRIG_CLK10 = &H80000000
  61. Global Const I_TRIG_CLK100 = &H800&
  62. Global Const I_TRIG_SERIAL_DTR = &H400&
  63. Global Const I_TRIG_SERIAL_RTS = &H200&
  64. Global Const I_TRIG_GPIO_CTL0 = &H100&
  65. Global Const I_TRIG_GPIO_CTL1 = &H80&
  66.  
  67.  
  68. ' ihint values
  69. Global Const I_HINT_DONTCARE = 0
  70. Global Const I_HINT_USEDMA = 1
  71. Global Const I_HINT_USEPOLL = 2
  72. Global Const I_HINT_USEINTR = 3
  73. Global Const I_HINT_SYSTEM = 4
  74. Global Const I_HINT_IO = 5
  75.  
  76. ' isetintr values.  1-15 are interface independant.
  77. Global Const I_INTR_OFF = 0
  78. Global Const I_INTR_INTFACT = 1
  79. Global Const I_INTR_INTFDEACT = 2
  80. Global Const I_INTR_TRIG = 3
  81. Global Const I_INTR_STB = 4
  82. Global Const I_INTR_DEVCLR = 5
  83.  
  84. ' VXI Interrupts
  85. Global Const I_INTR_VXI_SIGNAL = 16
  86. Global Const I_INTR_VXI_SYSRESET = 17
  87. Global Const I_INTR_VXI_VME = 18
  88. Global Const I_INTR_VXI_LLOCK = 19
  89. Global Const I_INTR_VXI_UKNSIG = 20
  90.  
  91. ' GP-IB Interrupts
  92. Global Const I_INTR_GPIB_IFC = 16
  93. Global Const I_INTR_GPIB_PPOLLCONFIG = 17
  94. Global Const I_INTR_GPIB_REMLOC = 18
  95. Global Const I_INTR_GPIB_GET = 20
  96. Global Const I_INTR_GPIB_TLAC = 21
  97.  
  98. ' RS-232 Interrupts
  99. Global Const I_INTR_SERIAL_DAV = 16
  100. Global Const I_INTR_SERIAL_MSL = 17
  101. Global Const I_INTR_SERIAL_BREAK = 18
  102. Global Const I_INTR_SERIAL_ERROR = 19
  103. Global Const I_INTR_SERIAL_TEMT = 20
  104. Global Const I_INTR_SERIAL_MCL = 21
  105.  
  106. ' GPIO Interrupts
  107. Global Const I_INTR_GPIO_EIR = 16
  108. Global Const I_INTR_GPIO_RDY = 17
  109.  
  110. ' 32 maximum isetintr values
  111. Global Const I_INTR_MAX = 32
  112.  
  113. ' ivxibusstatus values
  114. Global Const I_VXI_BUS_TRIGGER = 0
  115. Global Const I_VXI_BUS_LADDR = 1
  116. Global Const I_VXI_BUS_SERVANT_AREA = 2
  117. Global Const I_VXI_BUS_NORMOP = 3
  118. Global Const I_VXI_BUS_CMDR_LADDR = 4
  119. Global Const I_VXI_BUS_MAN_ID = 5
  120. Global Const I_VXI_BUS_MODEL_ID = 6
  121. Global Const I_VXI_BUS_PROTOCOL = 7
  122. Global Const I_VXI_BUS_XPROT = 8
  123. Global Const I_VXI_BUS_SHM_SIZE = 9
  124. Global Const I_VXI_BUS_SHM_ADDR_SPACE = 10
  125. Global Const I_VXI_SHM_PAGE = 11
  126. Global Const I_VXI_BUS_VXIMXI = 12
  127. Global Const I_VXI_BUS_TRIGSUPP = 13
  128.  
  129. ' igpibbusstatus values
  130. Global Const I_GPIB_BUS_REM = 1
  131. Global Const I_GPIB_BUS_SRQ = 2
  132. Global Const I_GPIB_BUS_NDAC = 3
  133. Global Const I_GPIB_BUS_SYSCTLR = 4
  134. Global Const I_GPIB_BUS_ACTCTLR = 5
  135. Global Const I_GPIB_BUS_TALKER = 6
  136. Global Const I_GPIB_BUS_LISTENER = 7
  137. Global Const I_GPIB_BUS_ADDR = 8
  138. Global Const I_GPIB_BUS_LINES = 9
  139.  
  140. ' max and min GPIB t1 delay values for igpibsett1delay
  141. Global Const I_GPIB_T1DELAY_MIN = 350
  142. Global Const I_GPIB_T1DELAY_MAX = 2400
  143.  
  144. ' igpioctrl and igpiostat values
  145. Global Const I_GPIO_AUX = 1
  146. Global Const I_GPIO_CTRL = 2
  147. Global Const I_GPIO_DATA = 3
  148. Global Const I_GPIO_INFO = 4
  149. Global Const I_GPIO_SET_PCTL = 5
  150. Global Const I_GPIO_STAT = 6
  151. Global Const I_GPIO_READ_EOI = 7
  152. Global Const I_GPIO_TEST_ONLY = 8
  153. ' note that the request values above are all less than I_GPIO_CHK_PSTS
  154. Global Const I_GPIO_CTL0 = &H1
  155. Global Const I_GPIO_CTL1 = &H2
  156.  
  157. Global Const I_GPIO_STI0 = &H1
  158. Global Const I_GPIO_STI1 = &H2
  159. Global Const I_GPIO_EIR = &H4
  160. Global Const I_GPIO_PSTS = &H8
  161. Global Const I_GPIO_CHK_PSTS = &H10
  162. Global Const I_GPIO_AUTO_HDSK = &H20
  163. Global Const I_GPIO_ENH_MODE = &H40
  164. Global Const I_GPIO_READY = &H80
  165. Global Const I_GPIO_EIO_NONE = &H10000
  166.                                        
  167. ' RS-232 values
  168. Global Const I_SERIAL_BAUD = 1
  169. Global Const I_SERIAL_PARITY = 2
  170. Global Const I_SERIAL_STOP = 3
  171. Global Const I_SERIAL_WIDTH = 4
  172. Global Const I_SERIAL_FLOW_CTRL = 5
  173. Global Const I_SERIAL_MSL = 6
  174. Global Const I_SERIAL_STAT = 7
  175. Global Const I_SERIAL_RESET = 9
  176. Global Const I_SERIAL_READ_EOI = 10
  177. Global Const I_SERIAL_WRITE_EOI = 11
  178. Global Const I_SERIAL_DUPLEX = 12
  179. Global Const I_SERIAL_READ_BUFSZ = 13
  180. Global Const I_SERIAL_READ_DAV = 14
  181.  
  182. ' RS-232 duplex modes
  183. Global Const I_SERIAL_DUPLEX_HALF = 1
  184. Global Const I_SERIAL_DUPLEX_FULL = 2
  185.  
  186. ' RS-232 UART status
  187. Global Const I_SERIAL_DAV = &H1
  188. Global Const I_SERIAL_OVERFLOW = &H2
  189. Global Const I_SERIAL_PARERR = &H4
  190. Global Const I_SERIAL_FRAMING = &H8
  191. Global Const I_SERIAL_BREAK = &H10
  192. Global Const I_SERIAL_TEMT = &H20
  193.  
  194. ' RS-232 flow control
  195. Global Const I_SERIAL_FLOW_NONE = 0
  196. Global Const I_SERIAL_FLOW_XON = 1
  197. Global Const I_SERIAL_FLOW_RTS_CTS = 2
  198. Global Const I_SERIAL_FLOW_DTR_DSR = 3
  199.  
  200. ' RS-232 modem status lines
  201. Global Const I_SERIAL_DCD = &H1
  202. Global Const I_SERIAL_DSR = &H2
  203. Global Const I_SERIAL_CTS = &H4
  204. Global Const I_SERIAL_RI = &H8
  205. Global Const I_SERIAL_D_DCD = &H10
  206. Global Const I_SERIAL_D_DSR = &H20
  207. Global Const I_SERIAL_D_CTS = &H40
  208. Global Const I_SERIAL_D_TERI = &H80
  209.  
  210. ' RS-232 modem control lines
  211. Global Const I_SERIAL_RTS = &H1000
  212. Global Const I_SERIAL_DTR = &H2000
  213.  
  214. ' RS-232 parity values
  215. Global Const I_SERIAL_PAR_NONE = 0
  216. Global Const I_SERIAL_PAR_EVEN = 1
  217. Global Const I_SERIAL_PAR_ODD = 2
  218. Global Const I_SERIAL_PAR_MARK = 3
  219. Global Const I_SERIAL_PAR_SPACE = 4
  220. Global Const I_SERIAL_PAR_IGNORE = 5
  221.  
  222. ' RS-232 stop-bit values
  223. Global Const I_SERIAL_STOP_1 = 1
  224. Global Const I_SERIAL_STOP_2 = 2
  225.  
  226. ' RS-232 character width
  227. Global Const I_SERIAL_CHAR_5 = 5
  228. Global Const I_SERIAL_CHAR_6 = 6
  229. Global Const I_SERIAL_CHAR_7 = 7
  230. Global Const I_SERIAL_CHAR_8 = 8
  231.  
  232. ' EOI support (used with the I_SERIAL_*_EOI command)
  233. Global Const I_SERIAL_EOI_CHR = &H100
  234. Global Const I_SERIAL_EOI_NONE = &H200
  235. Global Const I_SERIAL_EOI_BIT8 = &H400
  236.  
  237. ' imap mapspace values
  238. Global Const I_MAP_A16 = &H0
  239. Global Const I_MAP_A24 = &H1
  240. Global Const I_MAP_A32 = &H2
  241. Global Const I_MAP_VXIDEV = &H3
  242. Global Const I_MAP_EXTEND = &H4
  243. Global Const I_MAP_INTFREG = &H5
  244. Global Const I_MAP_SHARED = &H6
  245.  
  246. ' Error Codes
  247. ' NOTE that User Error Codes 32501-32630 are reserved
  248. ' for HP SICL.
  249. Const SICL_ERR_BASE = 32501
  250. Global Const I_ERR_NOERROR = 0
  251. Global Const I_ERR_SYNTAX = SICL_ERR_BASE
  252. Global Const I_ERR_SYMNAME = 1 + SICL_ERR_BASE
  253. Global Const I_ERR_BADADDR = 2 + SICL_ERR_BASE
  254. Global Const I_ERR_BADID = 3 + SICL_ERR_BASE
  255. Global Const I_ERR_PARAM = 4 + SICL_ERR_BASE
  256. Global Const I_ERR_NOCONN = 5 + SICL_ERR_BASE
  257. Global Const I_ERR_NOPERM = 6 + SICL_ERR_BASE
  258. Global Const I_ERR_NOTSUPP = 7 + SICL_ERR_BASE
  259. Global Const I_ERR_NORSRC = 8 + SICL_ERR_BASE
  260. Global Const I_ERR_NOINTF = 9 + SICL_ERR_BASE
  261. Global Const I_ERR_LOCKED = 10 + SICL_ERR_BASE
  262. Global Const I_ERR_NOLOCK = 11 + SICL_ERR_BASE
  263. Global Const I_ERR_BADFMT = 12 + SICL_ERR_BASE
  264. Global Const I_ERR_DATA = 13 + SICL_ERR_BASE
  265. Global Const I_ERR_TIMEOUT = 14 + SICL_ERR_BASE
  266. Global Const I_ERR_OVERFLOW = 15 + SICL_ERR_BASE
  267. Global Const I_ERR_IO = 16 + SICL_ERR_BASE
  268. Global Const I_ERR_OS = 17 + SICL_ERR_BASE
  269. Global Const I_ERR_BADMAP = 18 + SICL_ERR_BASE
  270. Global Const I_ERR_NODEV = 19 + SICL_ERR_BASE
  271. Global Const I_ERR_INVLADDR = 20 + SICL_ERR_BASE
  272. Global Const I_ERR_NOTIMPL = 21 + SICL_ERR_BASE
  273. Global Const I_ERR_ABORTED = 22 + SICL_ERR_BASE
  274. Global Const I_ERR_BADCONFIG = 23 + SICL_ERR_BASE
  275. Global Const I_ERR_NOCMDR = 24 + SICL_ERR_BASE
  276. Global Const I_ERR_VERSION = 25 + SICL_ERR_BASE
  277. Global Const I_ERR_NESTEDIO = 26 + SICL_ERR_BASE
  278. Global Const I_ERR_BUSY = 27 + SICL_ERR_BASE
  279. Global Const I_ERR_INTERNAL = 127 + SICL_ERR_BASE
  280. Global Const I_ERR_INTERRUPT = 128 + SICL_ERR_BASE
  281. Global Const I_ERR_UNKNOWNERR = 129 + SICL_ERR_BASE
  282. Global Const SICL_ERR_LAST = I_ERR_UNKNOWNERR
  283.  
  284. ' Default buffer sizes for formatted I/O
  285. Global Const I_READ_BUF_SZ = 4096
  286. Global Const I_WRITE_BUF_SZ = 128
  287.  
  288. ' iflush mask values
  289. Global Const I_BUF_READ = &H1
  290. Global Const I_BUF_WRITE = &H2
  291. Global Const I_BUF_DISCARD_READ = &H4
  292. Global Const I_BUF_DISCARD_WRITE = &H8
  293. Global Const I_BUF_WRITE_END = &H10
  294.  
  295. ' Define Word Serial commands for ivxiws
  296. Global Const WS_BNO_TOP_LVL = &H100
  297.  
  298. ' Word Serial Commands
  299. Global Const WS_CMD_ANO = &HC8FF
  300. Global Const WS_MASK_ANO = &HFFFF
  301. Global Const WS_CMD_AHL = &HA900
  302. Global Const WS_MASK_AHL = &HFF00
  303. Global Const WS_CMD_AIL = &HAA00
  304. Global Const WS_MASK_AIL = &HFF00
  305. Global Const WS_CMD_AMC = &HA800
  306. Global Const WS_MASK_AMC = &HFF00
  307. Global Const WS_CMD_BNO = &HFCFF
  308. Global Const WS_MASK_BNO = &HFEFF
  309. Global Const WS_CMD_BA = &HBC00
  310. Global Const WS_CMD_BA_END = &HBD00
  311. Global Const WS_MASK_BA = &HFE00
  312. Global Const WS_CMD_BR = &HDEFF
  313. Global Const WS_MASK_BR = &HFFFF
  314. Global Const WS_CMD_CLR = &HFFFF
  315. Global Const WS_MASK_CLR = &HFFFF
  316. Global Const WS_CMD_CL = &HEFFF
  317. Global Const WS_MASK_CL = &HFFFF
  318. Global Const WS_CMD_CE = &HAF00
  319. Global Const WS_MASK_CE = &HFF00
  320. Global Const WS_CMD_ENO = &HC9FF
  321. Global Const WS_MASK_ENO = &HFFFF
  322. Global Const WS_CMD_RPE = &HCDFF
  323. Global Const WS_MASK_RPE = &HFFFF
  324. Global Const WS_CMD_GD = &HBF00
  325. Global Const WS_MASK_GD = &HFF00
  326. Global Const WS_CMD_IC = &HBE00
  327. Global Const WS_MASK_IC = &HFF00
  328. Global Const WS_CMD_RHL = &H8C00
  329. Global Const WS_MASK_RHL = &HFF00
  330. Global Const WS_CMD_RH = &HC7FF
  331. Global Const WS_MASK_RH = &HFFFF
  332. Global Const WS_CMD_RIL = &H8D00
  333. Global Const WS_MASK_RIL = &HFF00
  334. Global Const WS_CMD_RI = &HCAFF
  335. Global Const WS_MASK_RI = &HFFFF
  336. Global Const WS_CMD_RMOD = &HCCFF
  337. Global Const WS_MASK_RMOD = &HFFFF
  338. Global Const WS_CMD_RP = &HDFFF
  339. Global Const WS_MASK_RP = &HFFFF
  340. Global Const WS_CMD_RSTB = &HCFFF
  341. Global Const WS_MASK_RSTB = &HFFFF
  342. Global Const WS_CMD_RSA = &HCEFF
  343. Global Const WS_MASK_RSA = &HFFFF
  344. Global Const WS_CMD_RD = &H8E00
  345. Global Const WS_MASK_RD = &HFF00
  346. Global Const WS_CMD_CR = &H8F00
  347. Global Const WS_MASK_CR = &HFF00
  348. Global Const WS_CMD_SL = &HEEFF
  349. Global Const WS_MASK_SL = &HFFFF
  350. Global Const WS_CMD_SLMOD = &HAE00
  351. Global Const WS_MASK_SLMOD = &HFF00
  352. Global Const WS_CMD_SUMOD = &HAD00
  353. Global Const WS_MASK_SUMOD = &HFF00
  354. Global Const WS_CMD_TRIG = &HEDFF
  355. Global Const WS_MASK_TRIG = &HFFFF
  356. Global Const WS_CMD_USER = &H0
  357. Global Const WS_MASK_USER = &H8000
  358.  
  359.  
  360. ' Data Types used by SICL
  361. Type lu_info
  362.   logical_unit As Long
  363.   symname As String * 32
  364.   cardname As String * 32
  365.   filler1 As Long
  366.   intftype As Long
  367.   location As Long
  368.   busaddr As Long
  369.   hwarg(0 To 15)  As String * 16
  370.   filler2(0 To 11) As Long
  371. End Type
  372.  
  373. Type vxiinfo
  374.   laddr As Integer
  375.   name As String * 16
  376.   manuf_name As String * 16
  377.   model_name As String * 16
  378.   man_id As Integer
  379.   model As Integer
  380.   devclass As Integer
  381.   selftest As Integer
  382.   cage_num As Integer
  383.   slot As Integer
  384.   protocol As Integer
  385.   x_protocol As Integer
  386.   servant_area As Integer
  387.   addrspace As Integer
  388.   memsize As Integer
  389.   memstart As Integer
  390.   slot0_laddr As Integer
  391.   cmdr_laddr As Integer
  392.   int_handler(0 To 7)  As Integer
  393.   interrupter(0 To 7) As Integer
  394.   fill(0 To 9) As Integer
  395. End Type
  396.  
  397. ' vxiinfo structure values
  398. Global Const I_VXI_DEVCLASS_MEMORY = &H0
  399. Global Const I_VXI_DEVCLASS_EXTENDED = &H4000
  400. Global Const I_VXI_DEVCLASS_MSGBASED = &H8000
  401. Global Const I_VXI_DEVCLASS_REGBASED = &HC000
  402.  
  403. ' Version Information
  404. Declare Sub iversion Lib "sicl16.dll" (specversion As Integer, implversion As Integer)
  405. Declare Sub idrvrversion Lib "sicl16.dll" (ByVal id As Integer, specversion As Integer, implversion As Integer)
  406.  
  407. ' Open/Close
  408. Declare Function iopen Lib "sicl16.dll" Alias "vbopen" (ByVal addr As String) As Integer
  409. Declare Sub iclose Lib "sicl16.dll" (ByVal id As Integer)
  410. Declare Function igetintfsess Lib "sicl16.dll" (ByVal id As Integer) As Integer
  411.  
  412. ' Write/Read
  413.  
  414. Declare Sub iwrite Lib "sicl16.dll" (ByVal id As Integer, buf As Any, ByVal datalen As Long, ByVal endi As Integer, actual As Long)
  415. Declare Sub iread Lib "sicl16.dll" (ByVal id As Integer, buf As Any, ByVal bufsize As Long, reason As Any, actual As Long)
  416. Declare Sub itermchr Lib "sicl16.dll" (ByVal id As Integer, ByVal tchr As Integer)
  417. Declare Sub igettermchr Lib "sicl16.dll" (ByVal id As Integer, tchr As Integer)
  418.  
  419. ' Formatted I/O
  420. Declare Function ivprintf Lib "sicl16.dll" Alias "vbvprintf" (ByVal id As Integer, ByVal fmt As String, ap As Any) As Integer
  421. Declare Function isvprintf Lib "sicl16.dll" Alias "vbsvprintf" (ByVal user_buf As String, ByVal fmt As String, ap As Any) As Integer
  422. Declare Function ivscanf Lib "sicl16.dll" Alias "vbvscanf" (ByVal id As Integer, ByVal fmt As String, ap As Any) As Integer
  423. Declare Function isvscanf Lib "sicl16.dll" Alias "vbsvscanf" (ByVal user_buf As String, ByVal fmt As String, ap As Any) As Integer
  424. Declare Sub ifwrite Lib "sicl16.dll" (ByVal id As Integer, ByVal buf As Any, ByVal datalen As Long, ByVal endi As Integer, actual As Long)
  425. Declare Sub ifread Lib "sicl16.dll" (ByVal id As Integer, ByVal buf As Any, ByVal bufsize As Long, reason As Any, actual As Long)
  426. Declare Sub iflush Lib "sicl16.dll" (ByVal id As Integer, ByVal mask As Integer)
  427. Declare Sub isetbuf Lib "sicl16.dll" (ByVal id As Integer, ByVal mask As Integer, ByVal size As Integer)
  428.  
  429. ' Device/Interface Control
  430. Declare Sub iclear Lib "sicl16.dll" (ByVal id As Integer)
  431. Declare Sub iabort Lib "sicl16.dll" (ByVal id As Integer)
  432. Declare Sub ilocal Lib "sicl16.dll" (ByVal id As Integer)
  433. Declare Sub iremote Lib "sicl16.dll" (ByVal id As Integer)
  434. Declare Sub ireadstb Lib "sicl16.dll" Alias "vbreadstb" (ByVal id As Integer, stb As Integer)
  435. Declare Sub itrigger Lib "sicl16.dll" (ByVal id As Integer)
  436. Declare Sub ixtrig Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long)
  437. Declare Sub ihint Lib "sicl16.dll" (ByVal id As Integer, ByVal hint As Integer)
  438.  
  439. ' Commander Sessions
  440. Declare Sub isetstb Lib "sicl16.dll" (ByVal id As Integer, ByVal stb As Integer)
  441.  
  442. ' Locking
  443. Declare Sub ilock Lib "sicl16.dll" (ByVal id As Integer)
  444. Declare Sub iunlock Lib "sicl16.dll" (ByVal id As Integer)
  445. Declare Sub isetlockwait Lib "sicl16.dll" (ByVal id As Integer, ByVal flag As Integer)
  446. Declare Sub igetlockwait Lib "sicl16.dll" (ByVal id As Integer, flag As Integer)
  447.  
  448. ' Timeouts
  449. Declare Sub itimeout Lib "sicl16.dll" (ByVal id As Integer, ByVal tval As Long)
  450. Declare Sub igettimeout Lib "sicl16.dll" (ByVal id As Integer, tval As Long)
  451.  
  452. ' Misc routines
  453. Declare Sub igetaddr Lib "sicl16.dll" Alias "vbgetaddr" (ByVal id As Integer, ByVal addr As String)
  454. Declare Sub igetintftype Lib "sicl16.dll" (ByVal id As Integer, pdata As Integer)
  455. Declare Sub igetsesstype Lib "sicl16.dll" (ByVal id As Integer, pdata As Integer)
  456. Declare Sub igetdevaddr Lib "sicl16.dll" (ByVal id As Integer, prim As Integer, sec As Integer)
  457. Declare Sub igetlu Lib "sicl16.dll" (ByVal id As Integer, lu As Integer)
  458. Declare Sub ibeswap Lib "sicl16.dll" (addr As Any, ByVal length As Long, ByVal datasize As Integer)
  459. Declare Sub ileswap Lib "sicl16.dll" (addr As Any, ByVal length As Long, ByVal datasize As Integer)
  460. Declare Sub iswap Lib "sicl16.dll" (addr As Any, ByVal length As Long, ByVal datasize As Integer)
  461. Declare Sub igetlulist Lib "sicl16.dll" Alias "vbgetlulist" (list() As Integer)
  462. Declare Sub igetluinfo Lib "sicl16.dll" Alias "vbgetluinfo" (ByVal lu As Integer, result As lu_info)
  463. Declare Sub igetgatewaytype Lib "sicl16.dll" (ByVal id As Integer, pdata As Integer)
  464.  
  465. ' Error Handling
  466. Declare Function igeterrno Lib "sicl16.dll" Alias "vbgeterrno" () As Integer
  467. Declare Function igeterrstr Lib "sicl16.dll" Alias "vbgeterrstr" (ByVal errcode As Integer) As String
  468. Declare Sub icauseerr Lib "sicl16.dll" Alias "vbcauseerr" (ByVal id As Integer, ByVal errcode As Integer, ByVal flag As Integer)
  469. Declare Sub vbsetsiclerrbase Lib "sicl16.dll" (ByVal errbase As Integer)
  470.  
  471. ' RS-232 specific routines
  472. Declare Sub iserialmclctrl Lib "sicl16.dll" (ByVal id As Integer, ByVal sline As Integer, ByVal state As Integer)
  473. Declare Sub iserialmclstat Lib "sicl16.dll" (ByVal id As Integer, ByVal sline As Integer, state As Integer)
  474. Declare Sub iserialctrl Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, ByVal setting As Long)
  475. Declare Sub iserialstat Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Long)
  476. Declare Sub iserialbreak Lib "sicl16.dll" (ByVal id As Integer)
  477.  
  478. ' VXI Specific routines
  479. Declare Sub ivxibusstatus Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Long)
  480. Declare Sub ivxiwaitnormop Lib "sicl16.dll" (ByVal id As Integer)
  481. Declare Sub ivxitrigon Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long)
  482. Declare Sub ivxitrigoff Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long)
  483. Declare Sub ivxitrigroute Lib "sicl16.dll" (ByVal id As Integer, ByVal in_which As Long, ByVal out_which As Long)
  484. Declare Sub ivxigettrigroute Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long, route As Long)
  485. Declare Sub ivxiws Lib "sicl16.dll" (ByVal id As Integer, ByVal wscmd As Integer, wsresp As Any, rpe As Any)
  486. Declare Sub ivxiservants Lib "sicl16.dll" Alias "vbvxiservants" (ByVal id As Integer, ByVal maxnum As Integer, list() As Integer)
  487. Declare Sub ivxirminfo Lib "sicl16.dll" Alias "vbvxirminfo" (ByVal id As Integer, ByVal laddr As Integer, info As vxiinfo)
  488.  
  489. ' GP-IB Specific routines
  490. Declare Sub igpibbusstatus Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Integer)
  491. Declare Sub igpibppoll Lib "sicl16.dll" (ByVal id As Integer, result As Integer)
  492. Declare Sub igpibppollconfig Lib "sicl16.dll" (ByVal id As Integer, ByVal cval As Integer)
  493. Declare Sub igpibppollresp Lib "sicl16.dll" (ByVal id As Integer, ByVal sval As Integer)
  494. Declare Sub igpibpassctl Lib "sicl16.dll" (ByVal id As Integer, ByVal busaddr As Integer)
  495. Declare Sub igpibrenctl Lib "sicl16.dll" (ByVal id As Integer, ByVal ren As Integer)
  496. Declare Sub igpibatnctl Lib "sicl16.dll" (ByVal id As Integer, ByVal atnval As Integer)
  497. Declare Sub igpibsendcmd Lib "sicl16.dll" (ByVal id As Integer, ByVal buf As String, ByVal length As Integer)
  498. Declare Sub igpibllo Lib "sicl16.dll" (ByVal id As Integer)
  499. Declare Sub igpibbusaddr Lib "sicl16.dll" (ByVal id As Integer, ByVal busaddr As Integer)
  500. Declare Sub igpibgett1delay Lib "sicl16.dll" (ByVal id As Integer, delay As Integer)
  501. Declare Sub igpibsett1delay Lib "sicl16.dll" (ByVal id As Integer, ByVal delay As Integer)
  502.  
  503. ' GPIO Specific routines
  504. Declare Sub igpioctrl Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, ByVal setting As Long)
  505. Declare Sub igpiostat Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Long)
  506. Declare Sub igpiosetwidth Lib "sicl16.dll" (ByVal id As Integer, ByVal dwidth As Integer)
  507. Declare Sub igpiogetwidth Lib "sicl16.dll" (ByVal id As Integer, ByVal dwidth As Integer)
  508.  
  509. ' LAN Specific functions
  510. Declare Sub ilantimeout Lib "sicl16.dll" (ByVal id As Integer, ByVal tval As Long)
  511. Declare Sub ilangettimeout Lib "sicl16.dll" (ByVal id As Integer, tval As Long)
  512.  
  513. ' Map routines
  514. Declare Function imap Lib "sicl16.dll" (ByVal id As Integer, ByVal mapspace As Integer, ByVal pagestart As Integer, ByVal pagecnt As Integer, ByVal suggested As Long) As Long
  515. Declare Sub iunmap Lib "sicl16.dll" (ByVal id As Integer, ByVal addr As Long, ByVal mapspace As Integer, ByVal pagestart As Integer, ByVal pagecnt As Integer)
  516. Declare Sub imapinfo Lib "sicl16.dll" (ByVal id As Integer, ByVal mapspace As Integer, numwindows As Integer, winsize As Integer)
  517.  
  518. ' Block copy and fifo routines
  519. Declare Sub ibblockcopy Lib "sicl16.dll" (ByVal id As Integer, src As Any, dest As Any, ByVal cnt As Long)
  520. Declare Sub iwblockcopy Lib "sicl16.dll" (ByVal id As Integer, src As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
  521. Declare Sub ilblockcopy Lib "sicl16.dll" (ByVal id As Integer, src As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
  522. Declare Sub ibpushfifo Lib "sicl16.dll" (ByVal id As Integer, src As Any, fifo As Any, ByVal cnt As Long)
  523. Declare Sub iwpushfifo Lib "sicl16.dll" (ByVal id As Integer, src As Any, fifo As Any, ByVal cnt As Long, ByVal swap As Integer)
  524. Declare Sub ilpushfifo Lib "sicl16.dll" (ByVal id As Integer, src As Any, fifo As Any, ByVal cnt As Long, ByVal swap As Integer)
  525. Declare Sub ibpopfifo Lib "sicl16.dll" (ByVal id As Integer, fifo As Any, dest As Any, ByVal cnt As Long)
  526. Declare Sub iwpopfifo Lib "sicl16.dll" (ByVal id As Integer, fifo As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
  527. Declare Sub ilpopfifo Lib "sicl16.dll" (ByVal id As Integer, fifo As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
  528. Declare Sub icmd Lib "sicl16.dll" (ByVal id As Integer, ByVal cmd As Long, ByVal datalen As Integer, ByVal datawidth As Integer, pdata As Any)
  529.  
  530. ' Windows 3.1 Cleanup routines
  531. Declare Sub siclcleanup Lib "sicl16.dll" Alias "_siclcleanup" ()
  532.  
  533. ' Windows 3.1 yield control routine
  534. Declare Sub setsiclyield Lib "sicl16.dll" Alias "_setsiclyield" (ByVal yield_option As Integer)
  535.  
  536. ' Peek/Poke routines
  537. Declare Sub ibpoke Lib "sicl16.dll" Alias "vbibpoke" (ByVal addr As Long, ByVal value As Integer)
  538. Declare Sub iwpoke Lib "sicl16.dll" Alias "vbiwpoke" (ByVal addr As Long, ByVal value As Integer)
  539. Declare Sub ilpoke Lib "sicl16.dll" Alias "ilpoke" (ByVal addr As Long, ByVal value As Long)
  540. Declare Function ibpeek Lib "sicl16.dll" Alias "vbibpeek" (ByVal addr As Long) As Integer
  541. Declare Function iwpeek Lib "sicl16.dll" Alias "vbiwpeek" (ByVal addr As Long) As Integer
  542. Declare Function ilpeek Lib "sicl16.dll" Alias "ilpeek" (ByVal addr As Long) As Long
  543.  
  544. ' This function truncates a string so that all characters
  545. ' following a carriage return or linefeed character are
  546. ' removed.  The truncated string is then returned.
  547. Function strip_crlf (szString As String) As String
  548.    Dim crlfpos As Integer
  549.  
  550.    crlfpos = InStr(szString, Chr$(13))
  551.    If crlfpos Then
  552.      szString = Left(szString, crlfpos - 1)
  553.    End If
  554.    crlfpos = InStr(szString, Chr$(10))
  555.    If crlfpos Then
  556.      szString = Left(szString, crlfpos - 1)
  557.    End If
  558.  
  559.    strip_crlf = szString
  560. End Function
  561.  
  562.